package me.longerian.abc.hex;

import com.qq.taf.jce.JceInputStream;

public class HexToByteArray {

	private static String hexStr =  "0123456789abcdef";  
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
//		System.out.println("========echo lost=========");
//		printTransDataMessage("0226fc2f3716083431323162333130262039353933663432303065633934363233613766326538623536663537666435653d000002090c4226fc01ff503d600370028c");
//		System.out.println("========echo ack=========");
//		printTransDataMessage("0226fc2f3716083431323162333130262039353933663432303065633934363233613766326538623536663537666435654226fc01ff503c60047c8c");
//		System.out.println("========rcv =========");
//		printTransDataMessage("0226fc2f3816203935393366343230306563393436323361376632653862353666353766643565260834313231623331303d000c4226fc02a9500260027c8c");
//		System.out.println("========contact 0=========");
//		printTransDataMessage("0c1608343132316233313026285441465f66363033316666612d316637352d343535372d386631312d6139333165363237313237663d0000109110a22d5b32bd1070e2656bd500d910401a5c6c700f8c");
//		System.out.println("========contact 1 =========");
//		printTransDataMessage("0c1608343132316233313026285441465f66363033316666612d316637352d343535372d386631312d6139333165363237313237663d00000814a69a56ecc240ed401a50016c70028c");
//		System.out.println("========contact 2 =========");
//		printTransDataMessage("0c1608343132316233313026285441465f66363033316666612d316637352d343535372d386631312d6139333165363237313237663d0000703de63f567bc94aa62a489e6ddb1c77425f53aa8b8bf6342c31358b056edf46f72c16b58651ea73a39f0010204d1e56f3ae486d94780d5ecce023258a74c34e1a74f15358a4c62d7d6a69d9206c8a8073e111a331debce6b4fd3cb444b1e0db786d612d869c6323a3b0fd1206c6b37191401a50026c706c8c");
//		System.out.println("========contact 3 =========");
//		printTransDataMessage("0c1608343132316233313026285441465f66363033316666612d316637352d343535372d386631312d6139333165363237313237663d00010168635225bc962dc464c28330a8a65358dbff181ff0ca9cf031709b659e3f13deb99969320606bae2548982afdf0e959e1e035d3107f755fdc397749e4e2a984fa14e4b1c5fa2b10f75e91c638047fb3868fabb21fa51f9a1fb6ec78f99b33113429c12c91a7b03c3880aca6a73593cdd2c1c28559e35bee6b32d1a0d5f5dc9f1c89da7214fd79fefef5fda62a21c5644d6f18c507edef6f5a5f3c4d6c831bf1df4b01bfd30559b09093de1b05359971900cb8af544f0d27f1fe08022abcf3145a87d8060a3b92d908840b527c0aa5cbbe8dc6e40ebb0e63ab655661dc49564bae0ab24213578e7963db6cbcd9abe7e760f5a05c58c8e9aab953d469c9fb8dfb8f011035a5f3cc8ed781940a328858bba1c65d2ee7eca1badf37a5c34f248055b65fe8ebc76c4beb2eedcd312ff6f0abe6f732accaa0a5fb8b0219c5b83f8ad318b0cbbbf7c5a71ea9ef2c1c4c3412ae0c35e0484f28fbdfb5eba2a04316866dbbb10c7c962cba6dab9401a50036c7101668001");
//		System.out.println("========contact 4 =========");
//		printTransDataMessage("0c1608343132316233313026285441465f66363033316666612d316637352d343535372d386631312d613933316536323731323766401a500460027c8c");
		
//		printTransDataMessage("0c1608343132316233313026285441465f32303865336165322d333665372d343231662d396161362d3565346233653466646665353d0000109110a22d5b32bd1070e2656bd500d910400a5c6c700f8c");
//		printTransDataMessage("0c1608343132316233313026285441465f32303865336165322d333665372d343231662d396161362d3565346233653466646665353d00000814a69a56ecc240ed400a50016c70028c");
//		printTransDataMessage("0c1608343132316233313026285441465f32303865336165322d333665372d343231662d396161362d356534623365346664666535400a500360027c8c");
//		printTransDataMessage("0c1608343132316233313026285441465f32303865336165322d333665372d343231662d396161362d3565346233653466646665353d000101b8635225bc962dc464954198cc79255474f723d091cdc9d059ea95039febd8b1f0e40c69486ca72fe83ad81804f75882ea34332c684060f89bc082d3ade192eacef280abbde771eeeff859119813ed742523382728943bc458dd7d412e1a5ed701ec97e3d5d986094e07de5a461ad507b01a0db200231a32e1145bff9b9c659977783076b4a5c876affb6a0fb12faf30664c0a04db54d0d7e78525414a90ba7a88031c687c6d11107b018ffd693530b22cbbb0f68a0c886332b5a6d72c4e2ab6dfdb6521d54023e35cee769c967fbbb2364d73ad543aac3de33bc7d7f47180799cc6564fa6e6967fea48072444c033c09e91dfd4de88beb3d1f94404411f7557f183620ec46047b2de7222950b213d6f45c78f636e91e8e20704d05d5a4d6af4fa947c6d8b5b013a55fc2f44cf0edea5d214e8fcd741546f7412da3e69c3fc26e2f5c817d876197f721a2b718bd0596ee1a096a3da0d6d777ee2a9ab02335e4bd0e16bb4bba72ac139ea2327f5d1d235615d45fd9fa8039138fbd70ddcb633a4838428aad653e2a036a138dca8ef1b3fc6cf30ac5ed1b270c3a8fb53d89473900c59d95e2dbe9dc45775a7bd434cac2b816718160adb3780cc400a50026c7101b18001");
//		printTransDataMessage("0228a82f39160834313231623331302660466a746d357145523830634e4c6130346d5170664379665973713648702b635472627a4a42514565667439585835543556774463716e512f46464679437841564f4d3269554c517769435970543246446547526e6d47647274476a676e3745523d000008c68371166a8e0b524228a8000550086c70048c");
//		printTransDataMessage("0228a82f39160834313231623331302660466a746d357145523830634e4c6130346d5170664379665973713648702b635472627a4a42514565667439585835543556774463716e512f46464679437841564f4d3269554c517769435970543246446547526e6d47647274476a676e3745523d000008fd69f1dd9827e2a84228a800055003600370028c");
//		printTransDataMessage("0228a82f39160834313231623331302660466a746d357145523830634e4c6130346d5170664379665973713648702b635472627a4a42514565667439585835543556774463716e512f46464679437841564f4d3269554c517769435970543246446547526e6d47647274476a676e3745524228a80005500260047c8c");
//		printTransDataMessage("0228a82f37160834313231623331302660466a746d357145523830634e4c6130346d5170664379665973713648702b635472627a4a42514565667439585835543556774463716e512f46464679437841564f4d3269554c517769435970543246446547526e6d47647274476a676e3745523d000002090c4228a80097501d600370028c");
//		printTransDataMessage("0228a82f37160834313231623331302660466a746d357145523830634e4c6130346d5170664379665973713648702b635472627a4a42514565667439585835543556774463716e512f46464679437841564f4d3269554c517769435970543246446547526e6d47647274476a676e3745524228a80097501c60047c8c");
		
//		printTransDataMessage("0219f02f381660466a746d357145523830634e4c6130346d5170664379665973713648702b635472627a4a4251456566742b76687a75713661584c74356a7433713367623558726c5a707578702f6b65506b4e5a6577734f32746a64505546634d70673234776e260834313231623331303d000c4219f0001e500260027c8c");
//		printTransDataMessage("0219f02f381660466a746d357145523830634e4c6130346d5170664379665973713648702b635472627a4a4251456566742b76687a75713661584c74356a7433713367623558726c5a707578702f6b65506b4e5a6577734f32746a64505546634d70673234776e260834313231623331303d000c4219f0001f500260027c8c");
//		printTransDataMessage("0219f02f381660466a746d357145523830634e4c6130346d5170664379665973713648702b635472627a4a4251456566742b76687a75713661584c74356a7433713367623558726c5a707578702f6b65506b4e5a6577734f32746a64505546634d70673234776e260834313231623331303d0000101f9bef6dc6b1714f446725440cad1a7e4219f0003b50016c70088c");
		
		System.out.println(553922359 & 0x0000FFFF);
		System.out.println(553922360 & 0x0000FFFF);
		System.out.println(553922361 & 0x0000FFFF);
		System.out.println(553922364 & 0x0000FFFF);
		
		System.out.println("[[[[[[[[[");
//		printTransDataMessage("000007cd0221042f391608343231616639363026604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000018b9d4cff2db2628b24df93c74a6d3e77ffd2ed52bf2a28c5b4200ff000550026c70148c");
//		printTransDataMessage("000007cd0221042f391608343231616639363026604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56444200ff0005500360027c8c");
//		
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56444200780007500160027c8c");
//		printTransDataMessage("000007cd0221042f3716353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000002090c4200cf00115001600370028c");
//		printTransDataMessage("000007cd0221042f3916353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c564442006f0005500160027c8c");
		System.out.println("]]]]]]]]]");
		
		
		//5
		printTransDataMessage("000007cd0221042f3c16353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d0000083d37604fb300934f4200de00015c6c70048c");
		//6
		printTransDataMessage("000007cd0221042f3c16353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000008e39da5fde0222a3e4200de000150016c70048c");
		//8
		printTransDataMessage("000007cd0221042f3c16353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000018c441a447e95fc426820f25414a833bce683a0149fad715024200de000150026c70118c");
		//13
		printTransDataMessage("000007cd0221042f3c16353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000010262b38589d0703c9446725440cad1a7e4200de000150036c70088c");
		//14
		printTransDataMessage("000007cd0221042f3c16353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56444200de0001500460027c8c");
		//23
		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000008c68371166a8e0b5242002e00025c6c70048c");
		//27
		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000010e9f0e01e228d417f446725440cad1a7e42002e000250016c70088c");
		//28
		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000008c68371166a8e0b5242002e000250026c70048c");
		//29
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c564442002e0002500360027c8c");
		//41
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000008c68371166a8e0b5242004700035c6c70048c");
		//42
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000010e9f0e01e228d417fc68371166a8e0b52420047000350016c700c8c");
		//43
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56444200470003500260027c8c");
		//63
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000008c68371166a8e0b5242004100055c6c70048c");
		//64
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000100f8635225bc962dc46438997817a1f2e292b0fb876fce664f901b3e285345fe4ee5d8c20ebce99e4db77c2d27d376968c7c11ff984b374e225ba93e2c7cbaa19fc6673b97c0e7edb4e448f776a946bf47c8c6a9e4b4d74c5d2da6da8c30a775a3aeb754c1a74835497d720fb96189a55babdc57ba9a13c5c9766502cc79495d63148eb650ef0db12a0dec2079f84c44630e33593c2821d356123537dff793034f5d00a00e017efb7bb68c7398614133bf9c111670a249cd635305ca81922449f7a2e6384ef64f5aba56805fc8024c795115d0ca0446e96665acf4c38006dc12a0856da74e9c9322751beb535eb3b3876298446725440cad1a7e420041000550016c7100f08001");
		//65
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000008c68371166a8e0b52420041000550026c70048c");
		//66
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56444200410005500360027c8c");
		//72-12089
		printTransDataMessage("000007cd0221042f3916353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000008c68371166a8e0b5242004100045c6c70048c");
		//77
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000008c68371166a8e0b5242003a00065c6c70048c");
		//78
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000038e15050a098224b3d55ae83167895ac7d0e8157dee65ec06e4eb80b4699f97aef731b15de2122a3ccef7a066700b04c9d0702f0692929852e42003a000650016c70328c");
		//79
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c564442003a0006500260027c8c");
		//87-12089
		printTransDataMessage("000007cd0221042f3916353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56444200410004500160027c8c");
		//91
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000008c68371166a8e0b5242002400075c6c70048c");
		//98
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d00010630635225bc962dc464fcec3f4ab199ab2153e83798aa12cb4121335ac4cb896d2995b7965bac4d26e7462fffc0bd59fb0f5c6a440a8fb0be204467904ae65fbfdedd617364a9c8150b8ddb59c00da313b84ddb29df2be357fbb6b6b46ca7a2c4e9a8ef4e7be21ac69f45567e360ed6ac94095ded6e2ee66a2f304b330c3018c2f8bd8e0d65fb117e33a92fe438eebb80fed93e61064ed63496176e1bbdd79af195f65705146a7ea1216becbf6fb75c75daefbfc248dfa8b98eea67bd759e0d3f05c2bbe86b4889744ddef7d829d902fa151818ae803861b67678113636a69dbda1de59cdbb0ee0499a922b607617ae67a1728c16d50fad403e49437ce7c6e855b86337e4fa9357106aec237ab77c760488d5dbf5231b86db98460d77b311859e3fed315978cd0c12e0b136336d4dc055343478b37f00b7073c296049a264fc440d709d81501180072dbf26b282248206892e11b6cbd63cd07a90418feaea4e5f87f79de6d2562c9760bb1eb813f9d058a1592d84ff5878ba4996c1590c52682a9d4aef6a41088f2fb9a60099ad25b541a20a8eeeed2f43dc6d4af1e8e27ce8303e02e66f92aec6279a4e8dc17710bbdd68541eafe88b3ea0ec441ead053f91a7c502f3273c04625e283135974be1418e04a33472dbe69e12ba3cadc6f8c13e2e8b4fa0083c855179ed71414cb8b2b04d6f4694fc7bdb84729e63a96d1a50fdbc26924dd05ee39f136706c01d0d3d6c1dea5ba3b41e1d2b54c7e8feadac6d9c696fdf22a6f58853e39196643e8a267fa64d068c86879b7605c1e61823f00432849068e3e42b3ce2c39f5d04bce7617e1b69d4833da4de0896a33241f06c4ae522b401ff8694b6ccca19410e071fbb41290d6d3890f6ff4873cf9263439bb0a9e47cb0c4241e477116539ae0a866fea66d9a507f8595a44b6a6853644ad0cef836d547c7596f0169d83a7acd23b6b830da45c48cad49a1ee164457c8e0bc648065a3ca3f22399211cafbdee168a4321ff25586d878b966ed46b63cf6bc320541c5938c1786abd0c52bc6c89c9a3e47e423eab05a5873063a0429d845cefe6650a87ce1c085ecd966fcf58433426747e8d9286b9dc24eb3c6e45e48fb8bc3628c4c7d6824eab6bd7c00476c73dad80d17005d8671a95d9cd20bbf0dc34a65a1da8397c5279dcd48c77677ea8b5811b84ffc1a414ee0ceaf29df2af2f8e646654657d6c945b6834edb59b07070bfbcebcde53feaa1f46412a2491a451dce5d36b0ad70cbbc3270af2eca6143a0f50a70aa7ea54d278e51321e0e9d85652de294907ea5a6e01d477fa3b77669672a28bf27d046e8c56c533a252099c86d554b72bf8121ba827a0648dd2397f1f17aa99d8f65d73fe2a7f74e1411c9dfc4d8e861f1e9366079e3ba4ad572009495be511867840e3c0fb50a9179f06e0cb640369438d88dd7356e2816c61ce1d15cc4727521d69fa62ebc52fe001e8d95d50a8e73b146c0f216b00a6d0df38a68d23b9c3282363f2598533f0487592ecc2e0ce428c7492e89bec1efbcf7be3e2d15f1138b9491e4cb9a95a3c746e19679fc281f3b1bdab17010c4448d29403a89250ec5bcc3475f90b745f97f63493f10d740d10df482b65670f905737c6c6c3680930356a4aef82276b064cbf74872b1274ffe731b51e28648d439b8c4c462c4b7f757e2b37a28ee33a80a8ee07f6c969860d6ebef45378825959f0dafa9354035ac5bae49e3e0c8394f95b1329995a5d98ddbfa625b521ba03e86e7931df1e20b1a85353b15de9d7ac9c3c97f8160b2c1c52d7edb249bf387cfeee77e263763ccd0cbdfe1633b520484f4ff24216eb10a45f7f789eeb21d4adecf77551abe908feaac9cc2480be02ceaa35544a996edcf09ad5d5268bddf1be03b7a9a930b118eadf7f63e1b3fbae5e38676939e42f485566393c704e511d9b0b9a2123e3fddf1b682fcd10725f4137389507b47b7efb58df67c22605c3af4bd78c064e22b6d39a48c28d12376b5a53d4589a2cc029785393c4d4d6b01930338e45c280e3ae9d9fcf6b31de7fc82a345ee1d5ce71fb46e6411d1ac1f1430b6b58adcd4f4f3363213bd1adad042bfda46eb7450ebb5a34965bca6a3da57e31fa7f945156619a5bbe3786d1eafe15e33e3e2cc614610389b56d56cc9cb8958c751183830a3fb71eacf6dcda3bb36f8849c1a53a60d1406b53481aeb264b9e35fa96e8f91137a317b307cb98880c7420024000750016c71062f8001");
		//99
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000100c0635225bc962dc4641b1b460df327a6e9ac9fbb03c6a2d0b565b371ea1f87537b9b4d01a937b691327ad05529be9045f67bd6f65028f7009bdec4b389c532c60ad8321e3d5d63d2f00a8cd358bbdff1e15e346288655d254266a551bed2c98740a67e58ac5653062ad5813ad5b889dc7e2dbe0b681f0892df2d247de74b3af7443ef974bca37df395749104b3b319e625fe0cf224234cadb1c20fe9c4bf7c1f04b1592f8c86b07ca90aed76060670ec2d95e5fe958ddfc163c1e6f2cdc0614b23420024000750026c7100bd8001");
		//100
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000008c68371166a8e0b52420024000750036c70048c");
		//101
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56444200240007500460027c8c");
		//122
//		printTransDataMessage("000007cd0221042f3816353331353936353938353535347b61373261303539302d623239632d346634652d613838372d6132633239316362396131627d31323526604158316e6c357747425748634f54434a336933707479344667765a3435772b316b734a4b376f696264425053677576507234316f4265736672746e42564357502f6b2f31654f386c794b677853635835533849493235617a2b674959484c56443d000008fd69f1dd9827e2a840095001600370028c");
	}
	
	private static void printTransDataMessage(String hexStream) {
		System.out.println("========start=========");
		hexStream = hexStream.substring(8);
		byte[] raw = hexString2Binary(hexStream);
		JceInputStream tdmJcs = new JceInputStream(raw);
		TransDataMessage msg = new TransDataMessage();
		msg.readFrom(tdmJcs);
		System.out.println("type = " + msg.eType);
		System.out.println("chnl = " + msg.nChannelId);
		System.out.println("size = " + msg.nDataLen);
		System.out.println("isCompressed = " + msg.nIsCompress);
		System.out.println("msgId = " + msg.nMessageId);
		System.out.println("seqId = " + msg.nSequenceId);
		System.out.println("dstId = " + msg.sDestDeviceId);
		System.out.println("srcId = " + msg.sSrcDeviceId);
		
		if(msg.eType == 0 && msg.getVecMessage() != null && msg.getVecMessage().length > 0) {
			byte[] decrypted;
			try {
				decrypted = Des3.des3DecodeECB(PRIVATE_KEY.getBytes("UTF-8"), msg.getVecMessage());
				msg.setVecMessage(decrypted);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		if(msg.eType == 0 && msg.getVecMessage() != null && msg.getVecMessage().length > 0 && msg.getNIsCompress() == 1) {
			//nIsCompress == 1表明数据已压缩，那就解压缩
			byte[] decompressed = Compressor.decompress(msg.getVecMessage());
			msg.setVecMessage(decompressed);
		}
		
		if(msg.eType == 0 && msg.getVecMessage() != null) {
			System.out.println("content = " + new String(msg.getVecMessage()));
		}
		System.out.println("========end=========");
	}
	
	/** 
     *  
     * @param hexString 
     * @return 将十六进制转换为字节数组 
     */  
    public static byte[] hexString2Binary(String hexString){  
        //hexString的长度对2取整，作为bytes的长度  
        int len = hexString.length()/2;  
        byte[] bytes = new byte[len];  
        byte high = 0;//字节高四位  
        byte low = 0;//字节低四位  
  
        for(int i=0;i<len;i++){  
             //右移四位得到高位  
             high = (byte)((hexStr.indexOf(hexString.charAt(2*i)))<<4);  
             low = (byte)hexStr.indexOf(hexString.charAt(2*i+1));  
             bytes[i] = (byte) (high|low);//高地位做或运算  
        }  
        return bytes;  
    }

    public static final String PRIVATE_KEY = "TencentMolo&&##%%!!!1234";
    
}
